package orm

import (
	"go-quick/interface/iorm"
	"strings"
	"sync"
)

type Statement struct {
	Vars                     []any
	SQL                      strings.Builder
	Dest                     any
	Model                    any
	Scheme                   iorm.ISchema
	initialized              chan iorm.SignalChan // 初始化信号量
	cacheStore               *sync.Map
	PrimaryFields            []iorm.IField
	PrimaryFieldDBNames      []string
	Fields                   []iorm.IField
	FieldsByName             map[string]iorm.IField
	FieldsByBindName         map[string]iorm.IField // embedded fields is 'Embed.Field'
	FieldsByDBName           map[string]iorm.IField
	FieldsWithDefaultDBValue []iorm.IField // fields with default value assigned by database
}
